1. Field of the Invention
The present invention relates to noise cleaning and interpolating sparsely populated color digital image and, more particularly, to a system that uses a variable noise cleaning kernel to clean the image before it is fully populated.
2. Description of the Related Art
In electronic photography, it is desirable to simultaneously capture image data in three color planes, usually red, green and blue. When the three color planes are combined, it is possible to create high-quality color images. Capturing these three sets of image data can be done in a number of ways. In electronic photography, this is sometimes accomplished by using a single two dimensional array of photo-sites that detect the luminosity of the light falling on the sensors where the sites are covered by a pattern of red, green and blue filters. This type of sensor is known as a color filter array or CFA. Below is shown pattern of the red (R), green (G), and blue (B) pixel filters arranged in rows and columns on a conventional color filter array sensor.
RGRGRGBGBGRGRGRGBGBGRGRGR
Digital images produced by these and other types of devices, such as linear scanners, which scan photographic images, often produce a sparsely populated color digital image. Such an image has a problem in that it has a noise component due to random variations in the image capturing system, such as thermal variations in the color filter array sensor, or with the associated electronic circuitry or the like. Also, when an image is being interpolated to produce a fully populated color digital image, artifacts can be introduced. It is, of course, highly desirable to remove these noise components.
FIG. 1 depicts a prior art arrangement wherein a fully populated digital color image in block 10 is first noise cleaned in block 12 to provide a fully populated noise cleaned image 14. Examples of arrangements which provide these functions are set forth in: U.S. Pat. No. 5,671,264 to Florent, et al., U.S. Pat. No. 5,768,440 to Campanelli, et al., and U.S. Pat. No. 5,802,481 to Prieto. See also J-S. Lee, “Digital Image Smoothing and the Sigma Filter,” Computer Vision, Graphics, and Image Processing, 24, 1983, 255-269; G. A. Mastin, “Adaptive Filters for Digital Image Noise Smoothing: An Evaluation,” Computer Vision, Graphics, and Image Processing, 31, 1, July 1985, 103-121; and W. K. Pratt, “Noise Cleaning” in Digital Image Processing, Second Edition, John Wiley & Sons, Inc., New York, 1991, 285-302. This arrangement has problems. In order to begin with a fully populated digital color image, a number of image processing operations have already taken place on the original sparsely populated image data. Each operation that is performed on the sparsely populated image data to create a fully populated digital color image will amplify the noise imbedded in the original sparsely populated image data. Additionally, the ability to separate noise from genuine image information may be compromised by certain image processing operations that rely on and impose certain amounts of spatial correlation between the color planes of an image. Color filter array interpolation is an example of this kind of image processing operation. As a result, the relationship between noise and genuine image data is raised in complexity and, accordingly, more complex noise cleaning algorithms are required. Finally, since the original sparsely populated image data is noisy, the image processing operations that are performed on this data will produce sub-optimal results due to the noise.
FIG. 2 shows another prior art arrangement wherein a sparsely populated color digital image is simultaneously interpolated and noise cleaned in block 18 to provide a fully populated color digital image 20. Examples of arrangements which provide these functions are set forth in: U.S. Pat. No. 5,382,976 to Hibbard, U.S. Pat. No. 5,596,367 to Hamilton, et al., and U.S. Pat. No. 5,652,621 to Adams, et al. This arrangement also has problems. While the noise cleaning is occurring before a fully populated color digital image is produced, a number of image processing operations are still being performed on noisy data. For example, if the CFA interpolation employed is an adaptive algorithm, the decisions the algorithm makes during the course of the interpolation process can be significantly influenced by the noise embedded in the image data. As a result, wrong decisions can be made which produce pixel artifacts and unnecessary amplification of the noise in the image data.